<?php
/**
 *  Template Interface
 *  Assignment of variables to the template is done using ArrayAccess methods
 *
 */
interface Yz_Template_Interface
    extends ArrayAccess
{

    const META_KEYWORDS = 'keywords';
    const META_DESCRIPTION = 'description';
    const META_AUTHOR = 'author';

    const RENDER_CACHE_NONE = false;
    const RENDER_CACHE_EMPTY = null;

    const LAYOUT_NONE = false;

    /**
     * @return string
     */
    public function name();
    /**
     * @return string
     */
    public function render();
    public function renderWithParent(Yz_Template_Interface $parentTemplate);
}
